package com.ydj.framework.third.ip;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdGetAddressLatLngByTencentApiRes implements Serializable {

    /**
     * status : 0
     * message : query ok
     * request_id : e63a9c62-a83f-4626-a9e6-5408bfa5410d
     * result : {"location":{"lat":39.984154,"lng":116.30749},"address":"北京市海淀区北四环西路66号","formatted_addresses":{"recommend":"海淀区中关村中国技术交易大厦(彩和坊路西)","rough":"海淀区中关村中国技术交易大厦(彩和坊路西)","standard_address":"北京市海淀区北四环西路66号"},"address_component":{"nation":"中国","province":"北京市","city":"北京市","district":"海淀区","street":"北四环西路","street_number":"北四环西路66号"},"ad_info":{"nation_code":"156","adcode":"110108","phone_area_code":"010","city_code":"156110000","name":"中国,北京市,北京市,海淀区","location":{"lat":39.959893,"lng":116.2977},"nation":"中国","province":"北京市","city":"北京市","district":"海淀区"},"address_reference":{"business_area":{"id":"14178584199053362783","title":"中关村","location":{"lat":39.9806,"lng":116.311},"_distance":0,"_dir_desc":"内"},"famous_area":{"id":"14178584199053362783","title":"中关村","location":{"lat":39.9806,"lng":116.311},"_distance":0,"_dir_desc":"内"},"crossroad":{"id":"529961","title":"彩和坊路/海淀北一街(路口)","location":{"lat":39.98395,"lng":116.30823},"_distance":61.5,"_dir_desc":"西"},"town":{"id":"110108012","title":"海淀街道","location":{"lat":39.975116,"lng":116.313581},"_distance":0,"_dir_desc":"内"},"street_number":{"id":"595672509379194165901290","title":"北四环西路66号","location":{"lat":39.98409,"lng":116.30804},"_distance":47.4,"_dir_desc":"西"},"street":{"id":"9217092216709107946","title":"彩和坊路","location":{"lat":39.9804,"lng":116.308311},"_distance":46.3,"_dir_desc":"西"},"landmark_l2":{"id":"3629720141162880123","title":"中国技术交易大厦","location":{"lat":39.984105,"lng":116.307499},"_distance":0,"_dir_desc":"内"}}}
     */

    private Integer status;
    private String message;
    private String request_id;
    private ResultBean result;

    @Data
    public static class ResultBean implements Serializable {
        /**
         * location : {"lat":39.984154,"lng":116.30749}
         * address : 北京市海淀区北四环西路66号
         * formatted_addresses : {"recommend":"海淀区中关村中国技术交易大厦(彩和坊路西)","rough":"海淀区中关村中国技术交易大厦(彩和坊路西)","standard_address":"北京市海淀区北四环西路66号"}
         * address_component : {"nation":"中国","province":"北京市","city":"北京市","district":"海淀区","street":"北四环西路","street_number":"北四环西路66号"}
         * ad_info : {"nation_code":"156","adcode":"110108","phone_area_code":"010","city_code":"156110000","name":"中国,北京市,北京市,海淀区","location":{"lat":39.959893,"lng":116.2977},"nation":"中国","province":"北京市","city":"北京市","district":"海淀区"}
         * address_reference : {"business_area":{"id":"14178584199053362783","title":"中关村","location":{"lat":39.9806,"lng":116.311},"_distance":0,"_dir_desc":"内"},"famous_area":{"id":"14178584199053362783","title":"中关村","location":{"lat":39.9806,"lng":116.311},"_distance":0,"_dir_desc":"内"},"crossroad":{"id":"529961","title":"彩和坊路/海淀北一街(路口)","location":{"lat":39.98395,"lng":116.30823},"_distance":61.5,"_dir_desc":"西"},"town":{"id":"110108012","title":"海淀街道","location":{"lat":39.975116,"lng":116.313581},"_distance":0,"_dir_desc":"内"},"street_number":{"id":"595672509379194165901290","title":"北四环西路66号","location":{"lat":39.98409,"lng":116.30804},"_distance":47.4,"_dir_desc":"西"},"street":{"id":"9217092216709107946","title":"彩和坊路","location":{"lat":39.9804,"lng":116.308311},"_distance":46.3,"_dir_desc":"西"},"landmark_l2":{"id":"3629720141162880123","title":"中国技术交易大厦","location":{"lat":39.984105,"lng":116.307499},"_distance":0,"_dir_desc":"内"}}
         */

        private LocationBean location;
        private String address;
        private FormattedAddressesBean formatted_addresses;
        private AddressComponentBean address_component;
        private AdInfoBean ad_info;
        private AddressReferenceBean address_reference;

        @Data
        public static class LocationBean implements Serializable {
            /**
             * lat : 39.984154
             * lng : 116.30749
             */

            private Double lat;
            private Double lng;
        }

        @Data
        public static class FormattedAddressesBean implements Serializable {
            /**
             * recommend : 海淀区中关村中国技术交易大厦(彩和坊路西)
             * rough : 海淀区中关村中国技术交易大厦(彩和坊路西)
             * standard_address : 北京市海淀区北四环西路66号
             */

            private String recommend;
            private String rough;
            private String standard_address;
        }

        @Data
        public static class AddressComponentBean implements Serializable {
            /**
             * nation : 中国
             * province : 北京市
             * city : 北京市
             * district : 海淀区
             * street : 北四环西路
             * street_number : 北四环西路66号
             */

            private String nation;
            private String province;
            private String city;
            private String district;
            private String street;
            private String street_number;
        }

        @Data
        public static class AdInfoBean implements Serializable {
            /**
             * nation_code : 156
             * adcode : 110108
             * phone_area_code : 010
             * city_code : 156110000
             * name : 中国,北京市,北京市,海淀区
             * location : {"lat":39.959893,"lng":116.2977}
             * nation : 中国
             * province : 北京市
             * city : 北京市
             * district : 海淀区
             */

            private String nation_code;
            private String adcode;
            private String phone_area_code;
            private String city_code;
            private String name;
            private LocationBeanX location;
            private String nation;
            private String province;
            private String city;
            private String district;

            @Data
            public static class LocationBeanX implements Serializable {
                /**
                 * lat : 39.959893
                 * lng : 116.2977
                 */

                private Double lat;
                private Double lng;
            }
        }

        @Data
        public static class AddressReferenceBean implements Serializable {
            /**
             * business_area : {"id":"14178584199053362783","title":"中关村","location":{"lat":39.9806,"lng":116.311},"_distance":0,"_dir_desc":"内"}
             * famous_area : {"id":"14178584199053362783","title":"中关村","location":{"lat":39.9806,"lng":116.311},"_distance":0,"_dir_desc":"内"}
             * crossroad : {"id":"529961","title":"彩和坊路/海淀北一街(路口)","location":{"lat":39.98395,"lng":116.30823},"_distance":61.5,"_dir_desc":"西"}
             * town : {"id":"110108012","title":"海淀街道","location":{"lat":39.975116,"lng":116.313581},"_distance":0,"_dir_desc":"内"}
             * street_number : {"id":"595672509379194165901290","title":"北四环西路66号","location":{"lat":39.98409,"lng":116.30804},"_distance":47.4,"_dir_desc":"西"}
             * street : {"id":"9217092216709107946","title":"彩和坊路","location":{"lat":39.9804,"lng":116.308311},"_distance":46.3,"_dir_desc":"西"}
             * landmark_l2 : {"id":"3629720141162880123","title":"中国技术交易大厦","location":{"lat":39.984105,"lng":116.307499},"_distance":0,"_dir_desc":"内"}
             */

            private BusinessAreaBean business_area;
            private FamousAreaBean famous_area;
            private CrossroadBean crossroad;
            private TownBean town;
            private StreetNumberBean street_number;
            private StreetBean street;
            private LandmarkL2Bean landmark_l2;

            @Data
            public static class BusinessAreaBean implements Serializable {
                /**
                 * id : 14178584199053362783
                 * title : 中关村
                 * location : {"lat":39.9806,"lng":116.311}
                 * _distance : 0
                 * _dir_desc : 内
                 */

                private String id;
                private String title;
                private LocationBeanXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXX implements Serializable {
                    /**
                     * lat : 39.9806
                     * lng : 116.311
                     */

                    private Double lat;
                    private Double lng;
                }
            }

            @Data
            public static class FamousAreaBean implements Serializable {
                /**
                 * id : 14178584199053362783
                 * title : 中关村
                 * location : {"lat":39.9806,"lng":116.311}
                 * _distance : 0
                 * _dir_desc : 内
                 */

                private String id;
                private String title;
                private LocationBeanXXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXXX implements Serializable {
                    /**
                     * lat : 39.9806
                     * lng : 116.311
                     */

                    private Double lat;
                    private Double lng;
                }
            }

            @Data
            public static class CrossroadBean implements Serializable {
                /**
                 * id : 529961
                 * title : 彩和坊路/海淀北一街(路口)
                 * location : {"lat":39.98395,"lng":116.30823}
                 * _distance : 61.5
                 * _dir_desc : 西
                 */

                private String id;
                private String title;
                private LocationBeanXXXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXXXX implements Serializable {
                    /**
                     * lat : 39.98395
                     * lng : 116.30823
                     */

                    private Double lat;
                    private Double lng;
                }
            }

            @Data
            public static class TownBean implements Serializable {
                /**
                 * id : 110108012
                 * title : 海淀街道
                 * location : {"lat":39.975116,"lng":116.313581}
                 * _distance : 0
                 * _dir_desc : 内
                 */

                private String id;
                private String title;
                private LocationBeanXXXXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXXXXX implements Serializable {
                    /**
                     * lat : 39.975116
                     * lng : 116.313581
                     */

                    private Double lat;
                    private Double lng;
                }
            }

            @Data
            public static class StreetNumberBean implements Serializable {
                /**
                 * id : 595672509379194165901290
                 * title : 北四环西路66号
                 * location : {"lat":39.98409,"lng":116.30804}
                 * _distance : 47.4
                 * _dir_desc : 西
                 */

                private String id;
                private String title;
                private LocationBeanXXXXXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXXXXXX implements Serializable {
                    /**
                     * lat : 39.98409
                     * lng : 116.30804
                     */

                    private Double lat;
                    private Double lng;
                }
            }

            @Data
            public static class StreetBean implements Serializable {
                /**
                 * id : 9217092216709107946
                 * title : 彩和坊路
                 * location : {"lat":39.9804,"lng":116.308311}
                 * _distance : 46.3
                 * _dir_desc : 西
                 */

                private String id;
                private String title;
                private LocationBeanXXXXXXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXXXXXXX implements Serializable {
                    /**
                     * lat : 39.9804
                     * lng : 116.308311
                     */

                    private Double lat;
                    private Double lng;
                }
            }

            @Data
            public static class LandmarkL2Bean implements Serializable {
                /**
                 * id : 3629720141162880123
                 * title : 中国技术交易大厦
                 * location : {"lat":39.984105,"lng":116.307499}
                 * _distance : 0
                 * _dir_desc : 内
                 */

                private String id;
                private String title;
                private LocationBeanXXXXXXXX location;
                private Double _distance;
                private String _dir_desc;

                @Data
                public static class LocationBeanXXXXXXXX implements Serializable {
                    /**
                     * lat : 39.984105
                     * lng : 116.307499
                     */

                    private Double lat;
                    private Double lng;
                }
            }
        }
    }
}
